/**
 * 图标转Base64工具
 * 
 * 使用方法:
 * 1. 安装Node.js
 * 2. 运行: node convert_icons_to_base64.js
 * 3. 将输出的SQL语句复制到数据库执行
 */

const fs = require('fs');
const path = require('path');

// 定义图标路径
const iconPaths = {
  // 首页导航图标
  'index_strategy': './沙扒湾旅游/static/攻略.png',
  'index_scenic': './沙扒湾旅游/static/风景.png',
  'index_food': './沙扒湾旅游/static/美食.png',
  'index_culture': './沙扒湾旅游/static/文化.png',
  'index_hotel': './沙扒湾旅游/static/酒店.png',
  
  // TabBar图标
  'tabbar_home': './沙扒湾旅游/static/tabbar/home.png',
  'tabbar_home_active': './沙扒湾旅游/static/tabbar/home-active.png',
  'tabbar_my': './沙扒湾旅游/static/tabbar/my.png',
  'tabbar_my_active': './沙扒湾旅游/static/tabbar/my-active.png'
};

// 读取文件并转换为Base64
function convertToBase64(filePath) {
  try {
    const data = fs.readFileSync(filePath);
    return `data:image/png;base64,${data.toString('base64')}`;
  } catch (error) {
    console.error(`读取文件 ${filePath} 失败:`, error.message);
    return null;
  }
}

// 生成SQL更新语句
function generateSqlUpdates() {
  console.log('-- 更新图标Base64内容');
  console.log('-- 请将以下SQL语句复制到数据库执行');
  console.log('');
  
  Object.entries(iconPaths).forEach(([code, filePath]) => {
    const base64Data = convertToBase64(filePath);
    if (base64Data) {
      console.log(`UPDATE sys_icon SET content = '${base64Data}', type = 'base64' WHERE code = '${code}';`);
    }
  });
}

// 执行主函数
generateSqlUpdates(); 